const { Sequelize } = require('sequelize');
const sequelize = require('./database');
const Email = require('../models/Email');
const Bottle = require('../models/Bottle');
const ScheduledEmail = require('../models/ScheduledEmail');
const User = require('../models/User');

async function initDatabase() {
    try {
        // 测试数据库连接
        await sequelize.authenticate();
        console.log('数据库连接成功');

        // 同步所有模型
        await sequelize.sync({ alter: true });
        console.log('数据库同步完成');

        // 确认表是否创建成功
        const tables = await sequelize.getQueryInterface().showAllTables();
        console.log('当前数据库表:', tables);
        
        return true;
    } catch (error) {
        if (error.name === 'SequelizeConnectionRefusedError') {
            console.error('无法连接到数据库，请确保MySQL服务已启动');
        } else if (error.name === 'SequelizeConnectionError') {
            console.error('数据库连接错误:', error.message);
        } else {
            console.error('数据库初始化失败:', error);
        }
        return false;
    }
}

// 导出初始化函数
module.exports = initDatabase; 